package com.siki.service;

import com.siki.dto.user.UserInfoSaveDTO;
import com.siki.dto.user.UserPasswordDTO;
import com.siki.dto.user.UserSignUpDTO;
import com.siki.pojo.commonEntity.SysUser;
import com.siki.pojo.commonEntity.TalentPosition;
import com.siki.utils.JsonInfoReturn;

import java.util.List;

/**
 * @Author Siki
 * @Date 2020/6/6
 */
public interface UserService{

    /**
     * 用户模块 - 用户注册
     *
     * @param dto 用户注册DTO
     */
    void signUp(UserSignUpDTO dto);

    /**
     * 用户模块 - 根据id查询用户信息
     *
     * @param id 用户id
     * @return SysUser 用户实体
     */
    SysUser getUser(String id);

    /**
     * 用户模块 - 用户信息保存
     *
     * @param dto 用户信息提交DTO
     * @param id 用户id
     */
    void saveUserInfo(UserInfoSaveDTO dto, String id);

    /**
     * 用户模块 - 修改密码
     *
     * @param dto 修改密码dto
     * @param id 用户id
     */
    JsonInfoReturn savePassword(UserPasswordDTO dto, String id);

    /**
     * 当前用户查询已应聘的岗位
     *
     * @param id 当前用户id
     */
    List<TalentPosition> getPosition(String id);
}
